home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / apm / event.d / ppp < prev   
Text File  |  2009-02-20  |  961b  |  46 lines

  1. #!/bin/sh -e
  2. # Stop/restart PPP connection at suspend/resume.
  3.  
  4. [ -x /usr/sbin/pppd ] || exit 0
  5.  
  6. PATH=/sbin:/usr/sbin:/bin:/usr/bin
  7.  
  8. RESTART_FILE=/var/run/pppd-restart
  9.  
  10. # Currently it's too hard to reliably detect which connections are active
  11. # and should be restarted later, so we will restart the network only if a
  12. # specific peer is configured. Set $RESTART_PEER in /etc/ppp/apm.conf .
  13. [ -f /etc/ppp/apm.conf ] && . /etc/ppp/apm.conf
  14.  
  15. # this should match all processes started by pon
  16. suspend() {
  17.     for pidfile in /var/run/ppp[0-9].pid; do
  18.     [ "$pidfile" = "/var/run/ppp[0-9].pid" ] && break
  19.     kill $(cat $pidfile) 2> /dev/null
  20.         KILLED=yes
  21.     done
  22.     if [ "$KILLED" ]; then
  23.     : > $RESTART_FILE
  24.     else
  25.     rm -f $RESTART_FILE
  26.     fi
  27. }
  28.  
  29. resume() {
  30.     [ "$RESTART_PEER" -a -f $RESTART_FILE ] || return 0
  31.     pon $RESTART_PEER || true
  32.     rm -f $RESTART_FILE
  33. }
  34.  
  35. case "$1,$2" in
  36. suspend,*)
  37.     suspend
  38.     ;;
  39. resume,suspend)
  40.     resume
  41.     ;;
  42. esac
  43.  
  44. exit 0
  45.  
  46.